Signal correlation technique for a receiver of a spread spectrum signal including a pseudo-random noise code that reduces errors when a multipath signal is present

ABSTRACT

A receiver of a radio frequency signal having a pseudo-random noise (PRN) code modulated on a carrier, and techniques of processing such a signal that are especially adapted for ranging applications. Such an application is in a global positioning system (GPS or GLONASS) receiver. Both of the receiver DLL code and PLL carrier loops include a loop component that senses an error in its main loop caused by the presence of a multipath signal. The main loop is continuously adjusted by this sensed error, thereby causing the loop to track more precisely and minimize the effect of the multipath signal. The result is a more accurate range measurement.

CROSS-REFERENCE TO RELATED APPLICATION

This is related to copending application by Zhodzicshsky et al.,entitled "A Spread Spectrum Receiver Using a Pseudo-Random Noise Codefor Ranging Applications In a Way That Reduces Errors When a MultipathSignal is Present," Ser. No. 08/512,822, filed Aug. 9, 1995,(hereinafter the "Prior Application"), which application is incorporatedherein by this reference. To the extent that the same elements aredisclosed herein as in this prior application, they are illustrated inthe drawings with the same reference numbers.

BACKGROUND OF THE INVENTION

This invention relates to digital radio receivers which are used fornavigation systems and other ranging applications, wherein the receivedsignals are encoded with a pseudo-random noise (PRN) type code. Thisinvention deals specially with environments where the multipath fadingis severe.

The United States government has placed into orbit a number ofsatellites as part of a global positioning system (GPS). A GPS receiverreceives signals from several such satellites and can determine veryaccurate parameters, such as position, velocity, and time. There areboth military and commercial uses. A primary military use is for areceiver in an aircraft or ship to constantly determine the position andvelocity of the plane or ship. An example of a commercial use includessurveying and the accurate determination of the location of a fixedpoint or a distance between two fixed points, with a high degree ofaccuracy. Another example is the generation of a high accuracy timingreference.

In order to accomplish this, each satellite continually transmits twoL-band signals. A receiver simultaneously detects the signals fromseveral satellites and processes them to extract information from thesignals in order to calculate the desired parameters, such as position,velocity or time. The United States government has adopted standards forthese satellite transmissions so that others may utilize the satellitesignals by building receivers for specific purposes. The satellitetransmission standards are set forth in detail by an "Interface ControlDocument" of Rockwell International Corporation, entitled "Navstar GPSSpace Segment/Navigation User Interfaces", dated Sep. 26, 1984, asrevised Dec. 19, 1986.

Briefly, each satellite transmits an L1 signal on a 1575.42 Mhz carrier,usually expressed as 1540 f₀, where f₀ =1.023 Mhz. A second, L2 signaltransmitted by each satellite, has a carrier frequency of 1227.6 Mhz, or1200 f₀. Each of these signals is modulated in the satellite by at leastone pseudo-random signal function that is unique to that satellite. Thisresults in developing a spread spectrum signal that resists radiofrequency noise or intentional jamming. It also allows the L-bandsignals from a number of satellites to be individually identified andseparated in a receiver. One such pseudo-random function is a precisioncode ("P-code") that modulates both of the L1 and L2 carriers in thesatellite. The P-code has a 10.23 Mhz clock rate and thus causes the L1and L2 signals to have a 20.46 Mhz bandwidth. The length of the code isseven days; that is, the P-code pattern is begun again every seven days.In addition, the L1 signal of each satellite is modulated by a secondpseudo-random function, or a unique clear acquisition code ("C/A code"),having a 1.023 Mhz clock rate and repeating its pattern every onemillisecond, thus containing 1023 bits. Further, the L1 carrier is alsomodulated by a 50 bit-per-second navigational data stream that providescertain information of satellite identification, status and the like.

In a receiver, in the process of demodulating those satellite signals,signals corresponding to the known pseudo-random functions are generatedand aligned in phase with those modulated onto the satellite signals.The phase of the carriers from each satellite being tracked is measuredfrom the results of correlating each satellite signal with a locallygenerated pseudo-random function. The relative phase of carrier signalsfrom a number of satellites is a measurement that is used by a receiverto calculate the desired end quantities of distance, velocity, time,etc. Since the P-code encrypted functions (Y-code) are to be classifiedby the United States government so that they can be used for militarypurposes only, commercial users of the GPS must work directly only withthe C/A code pseudo-random function.

The government of the former USSR has placed into orbit a similarsatellite positioning system called GLONASS; more information on itsstandard can be found in the "Global Satellite Navigation SystemGLONASS-Interface Control Document" of the RTCA Paper No.518-91/SC159-317, approved by the Glavkosmos Institute of Space DeviceEngineering, the official former USSR GLONASS responsible organization.Although the present invention is described herein for use with theUnited States GPS system, it can be applied to a receiver designed toacquire the GLONASS signals or any radio frequency system usingpseudo-random noise sequences for ranging.

One of the major factors influencing the final accuracy of a distance,velocity, etc., measurement being made is the accuracy with which thesignal phase measurements are made. In turn, this phase measurementprecision is altered if, in addition to the direct line-of-sightpropagation signal, a multipath fading signal is also received. Thephase of the C/A code, for example, is determined by use of a delaylocked loop (DLL) correlator, wherein the phase of the internallygenerated C/A PRN code sequence is adjusted in a control loop tominimize an error signal. The DLL uses early and late versions of theinternally generated code in a signal correlator that is part of it.Many such receivers use a time spacing between the early and lateversions of one PRN code chip. (A "chip" is the time during which thecode remains at a plus or minus one.) Operation of the DLL within suchreceivers is affected by any multipath signal present, thus causing atracking error. The phase locked condition of the DLL is not onlycontrolled by the line-of-sight signal, as is desired in order toeliminate a cause of phase measurement errors, but is also affected bythe multipath signals as well.

Errors caused by multipath distortion in the out-of-phase condition canbe reduced by narrowing the delay spacing between the early and latecorrelators in the DLL. Although this technique reduces the effect ofthe received multipath signals somewhat by reducing the loop gain to theweaker multipath signals, inaccuracies still result. It has not beenfound to be possible to completely eliminate the tracking error bysimply narrowing the early-late delay spacing.

The Prior Application identified above describes use of a correlatorhaving a zero loop gain over a majority of a range of relative phasedifference between the locally generated PRN code and that encoded inthe radio frequency signal being received from a satellite or othersource, while, at the same time, providing a finite magnitude of loopgain in an operating phase difference region positioned about a zerophase difference. This significantly reduces, and even, in some cases,eliminates phase measurement errors that result when one or moremultipath versions of a PRN encoded signal are present. However, as thedesired level of measurement precision has increased, a phasemeasurement accuracy even greater than that provided by the techniquesdescribed in the Prior Application has been sought.

Therefore, it is a primary and general object of the present inventionto provide a receiver signal processing technique that substantiallyeliminates phase measurement errors resulting from the presence of oneor more multipath signals being received along with the desiredline-of-sight signal.

SUMMARY OF THE INVENTION

This and additional objects of the present invention are realized,briefly and generally, by maintaining the characteristics of one or bothof the carrier and code correlator loops that are best for tracking thesignal and then independently measuring the amount of error occurring inthe correlator loop on account of the presence of any multipath signal.The measured error is then used to correct for an erroneous measurementof signal phase being made by the correlator loop. This approach isquite different from adjusting the characteristics of the correlatorloop itself in order to reduce the effects of a multipath signal. By useof the present invention, the correlator loop is not compromised in itsoperation while, at the same time, the effects of the multipath signalon phase measurement are significantly reduced or even eliminated. Inone implementation, correction for the multipath signal is provided tothe correlator loop directly so that it gives a measurement of thesignal phase that is substantially, or even entirely, free of theeffects of any multipath signal that is present. In anotherimplementation, the measurement of the signal phase being made by thecorrelator loop, which will be erroneous when one or more multipathsignals are present, is corrected with the independently measured error.

According to a more specific aspect of the present invention, the codeloop is modified to be automatically corrected. A compound correlatorloop is substituted for the single code loop now utilized for rangingapplications in spread spectrum receivers. The compound correlator loopis formed of a primary correlator and a secondary correlator that sensesand corrects for a tracking error of the primary correlator caused byany multipath signal. This allows the primary correlator to be providedwith a response that defines the desired dynamic behavior of thecompound loop while the second correlator is rendered essentiallyinsensitive to the multipath signal. These two characteristics,difficult to implement in a single correlator, are carried out byseparate correlators that work together. The second correlator need notparticipate directly in tracking, which the primary correlator does, butrather the second correlator senses the tracking point error of theprimary correlator due to the presence of a multipath signal. Thatsensed error is then used to correct the primary correlator trackingpoint to substantially eliminate the effect of a multipath signal.

Since the second correlator need not participate directly in tracking,its characteristics can be optimized for the much different function ofsensing the tracking error of the primary correlator. Similarly, sincethe characteristics of the primary correlator need not be compromised inorder to deal with the presence of a multipath signal, it can beoptimized for its tracking function. This results in more precise signaltracking, which in turn allows a more accurate range measurement to bemade.

In a preferred embodiment, the second correlator has a very shortnon-zero late response. The second correlator characteristics willgenerally be asymmetrical; namely, have a much shorter non-zero lateresponse than a non-zero early response. This allows the bandwidth ofthe second correlator to be adequate but its portion that can respond toa delayed multipath signal is made extremely short. This non-zero lateresponse is made sufficiently long to handle the extent of trackingerror of the primary correlator but no more than is necessary to do so.Any resulting degradation of the signal-to-noise ratio of the secondcorrelator is made up through filtering by integrating its output for atime.

A primary focus of the present invention is on better multipathinsensitivity, which often will be obtained in the second correlatorwith a resulting phase noise measurement degradation. This degradation,in turn, is compensated by decreasing the bandwidth of the secondcorrelator loop. This loop bandwidth decrease is of no consequence ontracking performance of the compound loop, however, since its trackingperformance remains dependent only upon the primary correlator.

The multipath correction techniques of the present invention have aparticular application as both the code and the carrier tracking loopsin each digital processing channel of a GPS or GLONASS receiver. Theyare an improvement over the single correlator code loop described in thePrior Application by providing even greater immunity to the presence ofa multipath signal. It remains preferred to implement the correlators byusing specific gating signals in combination with anaccumulator/integrator, rather than using early-late versions of thelocally generated PRN code. The gating signal generated for the secondcorrelator is necessarily rather complex in order to obtain a preferredlate response.

Additional objects, advantages and features of the various aspects ofthe present invention will become apparent from the followingdescription of its preferred embodiments, which description should betaken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates line-of-sight and multipath signals being receivedsimultaneously by a GPS receiver;

FIGS. 2 and 3 show the line-of-sight and multipath signals in vectorform;

FIG. 4 is a block diagram of a complete receiver embodying the variousaspects of the present invention;

FIG. 5 is a schematic representation of a correlator of the type used inGPS receivers;

FIG. 6A shows an example of an incoming PRN signal that is input to thecorrelator of FIG. 5, and

FIG. 6B shows a locally generated replica of that incoming signal;

FIGS. 6C-F illustrate various gating waveforms that may alternatively beused with the correlator of FIG. 5;

FIGS. 7A-E show alternative response characteristics of the correlatorof FIG. 5 that are obtained with use of the respective gating signals ofFIGS. 6B-F;

FIGS. 8A-C illustrate the formation of the gating signal of FIG. 8D fromthe gating signals of either of FIGS. 6C or 6D;

FIGS. 9A and 9B illustrate the formation of a correlator response shownin FIG. 9C;

FIG. 10 shows a modified version of the correlator of FIG. 5;

FIG. 11 shows yet another modified version of the correlator of FIG. 5;

FIG. 12 illustrates the carrier and code correlator loops of each of thedigital processing channels of the receiver of FIG. 4;

FIG. 13 is a more detailed illustration of the composite code correlatorloop of FIG. 12 for each of the channels of the receiver of FIG. 4;

FIGS. 14A, 14B and 14C are curves which show the responsecharacteristics of the primary and correction code correlators of FIG.13;

FIGS. 15A-E illustrate the formation of a gating signal of FIG. 14C;

FIGS. 16A-C are waveforms that illustrate operation of the compositecode correlator loop of FIG. 13;

FIG. 17 is another curve that illustrates operation of the compositecode correlator loop of FIG. 13;

FIG. 18 illustrates the results obtained with the composite codecorrelator loop of FIG. 13 relative to those of prior non-correctedloops;

FIG. 19 is a more detailed illustration of the composite carriercorrelator loop of FIG. 12 for each of the channels of the receiver ofFIG. 4;

FIGS. 20A and 20B show vectors that illustrate the effect of thepresence of a multipath signal;

FIGS. 21A-C are curves which show the response characteristics of theprimary and correction carrier correlators of FIG. 19;

FIGS. 22, 23 and 24 are three-dimensional vector diagrams thatillustrate operation of the composite carrier correlator loop of FIG.19;

FIG. 25 shows an alternative implementation of the correction correlatorof FIG. 19;

FIG. 26 shows yet another alternative implementation of the correctioncorrelator of FIG. 19;

FIGS. 27 and 28 illustrate the results obtained with the compositecarrier correlator loop of FIG. 19 relative to those of priornon-corrected loops;

FIG. 29 shows a carrier correlator loop having open loop correction, asan alternative to that of FIG. 19; and

FIG. 30 is a block diagram of a circuit and software implementation ofthe individual channel correlator of FIG. 12.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring to FIG. 1, the various aspects of the present invention aredescribed with respect to a global positioning system ("GPS"). A GPSreceiver 10 includes an antenna 11 which is positioned to receive asignal 205 from a satellite 207. In addition to the desiredline-of-sight ("LOS") signal 205 received directly from the satellite207, the antenna 11 also receives a second version of that signal, adelayed multipath signal 209. The multipath signal is delayed by δbecause it reaches the antenna 11 by traversing a longer distance thandoes the line-of-sight signal 205. The multipath signal is shown in FIG.1 to reflect off of a hill 211, or some other object. Although thepresent invention is explained simply with reference to a singlemultipath signal, there can be several delayed versions of theline-of-sight signal which are also received by the antenna 11 at thesame time. Since GPS receivers, and other ranging receivers used inother applications, operate by measuring the phase of the receivedsignal, a multipath signal can complicate that task considerably.

Various attempts have been made in antenna design to limit theacceptance of reflected signals. This is difficult, however, because itis generally desired to have the antennas maintain a wide angle propertyin order to receive signals from several satellites at one time that areviewed with different azimuth and elevation angles. Attempts have alsobeen made to position the antenna as high as possible, in order tominimize ground and building reflections, or to carefully position it toavoid receiving reflected signals. Although these techniques may be usedin conjunction with the present invention, the present invention usesvarious signal processing techniques within the receiver itself todiscriminate against the received multipath signals.

Referring to FIGS. 2 and 3, a vector 213 represents the receivedline-of-sight signal, while another vector 215 represents the receivedmultipath signal. The multipath signal 215 arrives at the receiverantenna 11 with a code phase delay δ relative to the line-of-sightsignal 213. The multipath signal 215 will also be received with somecarrier phase angle θ relative to the line-of-sight signal 213. It isshown in these figures, the multipath signal generally has a lowermagnitude than does the line of sight signal as illustrated by itsmaller vector 215. A ratio of these magnitudes is noted herein by α.For simplicity of explanation herein, a single multipath signal isshown, but one or more additional reflected signals could also existsimultaneously.

The description herein of operating embodiments of a spread spectrumreceiver is mainly oriented towards the United States' GlobalPositioning System (GPS). However it can also be applied to the CommonIndependent States' GLObal NAvigation Satellite System (GLONASS) aswell, any ranging system using a PRN sequence, or to other types ofsystems with similar characteristics. This embodiment is described withone bit quantization. This choice, made for the sake of the simplicityof the description, does not preclude any other constraints on thequantization.

Referring to FIG. 4, a general block diagram is given of a pseudo-randomnoise (PRN) receiver 10 in which the various aspects of the presentinvention are implemented. The receiver 10 includes an antenna 11, adown converter 12, multiple channels 13a to 13n, an input/outputinterface 14, and a digital processor 15. The antenna 11 receives acomposite signal RF, composed of signals from all satellites in thesystem that are directly in the line of sight of the antenna. Thecomposite RF signal is fed to the down-converter 12 to provide aquantized and sampled intermediate frequency signal IFW, a systemsampling clock Ft and a SYSTEM CLOCK.

Code Correlators and Their Gating Signals

A simple correlator is illustrated in FIG. 5 for the purpose ofdiscussing its desired response characteristics and techniques forobtaining such characteristics by use of specific forms of gatingsignals. An incoming signal 601 contains a known PRN code sequence andis applied to a mixer 603. Also applied to the mixer 603 is a gatingsignal 605 that is generated by a local code generator 607. An output608 of the correlator 603 is a mathematical product of the two inputs601 and 605. The output 608 is then integrated by an accumulator 609 inorder to improve the signal-to-noise ratio of the product, thatintegrated signal appearing at an output 611. The amplitude of theoutput 611 is a function of the relative phase between the incoming PRNcode and the locally generated PRN code. That relative phase iscontrolled by a signal 613.

Correlators for GPS receivers and similar applications havetraditionally correlated the incoming signal with early (advanced inphase) and late (delayed in phase) locally generated replicas of the PRNcode contained in the incoming signal. As shown in FIG. 4 of the PriorApplication, a difference between these two correlations becomes theoutput of the correlator. The correlator output characteristics arecontrolled by the difference in relative phase of the early and latecode replicas that are used. More complicated correlators, such as shownin FIGS. 7 and 8 of the Prior Application, can be fashioned to provide awide variety of correlator functions. However, as described in the PriorApplication, it is preferred to use a simpler correlator, such as thatshown in FIG. 5 herein, which operates from a single gating signal 605.It is then the characteristics of the gating signal 605 that controlsthe correlator output 611 as a function of relative gating signal phase613.

FIGS. 6C through 6F show four examples of gating signals that are usefulin implementations of the present invention. The curve of FIG. 6B givesan example PRN code that may be generated in the receiver as a replicaof the PRN code of FIG. 6A that is contained in the incoming signal,although it need not actually be so generated in order to implement thepresent invention. It is shown as a reference. The reference code ofFIG. 6B is shown to be in phase with that of FIG. 6A. The dotted portionof the signal of FIG. 6A is an idealized received code, and the solidcurve shows a more typical PRN code that is received by the digitalprocessing channel of a receiver after the received signal isnecessarily limited in bandwidth by the down converter 12 (FIG. 4) andother front end portions of the receiver. For the purpose of describingthe present invention, however, the idealized received code is assumed,for simplicity of explanation.

FIG. 6C shows several cycles of one example gating signal s(t). It willbe noted that this signal goes from a negative level to a positive levelwhen the local PRN reference signal of FIG. 6B is positive, and,conversely, from a positive level to a negative level when the PRNreference signal is negative. No gating signal occurs during the codechip period 460, since there was no PRN code transition at the previouschip boundary 461. The duration of each of the negative and positivegoing components of the gating signal is denoted as "d", which is somefraction of one chip, such as 0.05 C/A code chip. The relative phasebetween the gating signal of FIG. 6C and the reference PRN signal ofFIG. 6B is denoted by ε₀. The quantity ε₀ is defined to extend between acenter of the local PRN reference signal chip of FIG. 6B and the centerof the related code pulse of FIG. 6C, as shown in the figures. As therelative phase quantity ε₀ is varied, operation of the correlator ofFIG. 5 moves to a different portion of its characteristic curve, asdescribed later.

Another gating signal, shown in FIG. 6D, is the same as that of FIG. 6C,with an important difference. Within the code chip 460, where notransition of the reference PRN code of FIG. 6B exists at the chipboundary 461, a gating signal occurs anyway. In this case, thisadditional gating signal transitions from a high to low level becausethe magnitude of the locally generated code of FIG. 6B is low. Thegating signals of both FIGS. 6C and 6D are bipolar.

Further example gating signals are shown in FIGS. 6E and 6F. Thesesignals are both unipolar, those of FIG. 6E not occurring during thecode period 460, while those of FIG. 6E do occur during the period 460.The polarity of each gating signal in the examples of FIG. 6E and 6F isthe same as that of the reference code of FIG. 6B at the occurrence ofthe gating signal. Their durations are "d" long.

Of the four examples shown in FIGS. 6C-6F of the gating signal 605 (FIG.5), that of FIG. 6E provides the correlator of FIG. 5 with the highestsignal-to-noise ratio. Use of the signal of FIG. 6D is the worst in thisrespect, and those of FIGS. 6C and 6F are in between. A disadvantage inmany applications of using one of the gating signals of FIGS. 6C or 6Eis that the correlator has some response at plus and minus one chip, inaddition to the response shown in FIG. 7C. Use of the one of the gatingsignals of FIGS. 6D or 6F will not give this added response. It has beenfound that the tradeoffs resulting from use of the gating signal of FIG.6F is usually preferred.

It will be recognized that there are many different forms of gatingsignals 605 that can be devised to provide a desired response of thecorrelator of FIG. 5. only single level signals are shown in FIGS.6C-6F. A signal having other combinations of magnitudes can be also beused, for example. The various gating signals being described may begenerated by use of standard logic circuit techniques in the local codegenerator 607, or by use of a digital signal processor therein, or by acombination of both. As described hereinafter, a combination of somecircuitry and software controlled processing is a preferredimplementation.

Additional possibilities for more complex gating signals exist from thecombination of those of FIGS. 6C-6F. FIGS. 8A-8D show the generation ofa more complex gating function of FIG. 8D from either of the gatingsignals of FIG. 6C or 6D. Such a gating signal is shifted to its phaseshown in FIG. 8B, relative to a reference code of FIG. 8A, and also tothe relative phase shown in FIG. 8C. These two shifted signals are thensubtracted in order to obtain a more complex gating signal of FIG. 8D.This gating signal will be recognized as that described with respect toFIG. 12 of the Prior Application.

Although this discussion has begun by describing examples of correlatorgating signals, it is a particular correlator response characteristicthat is the desired end result. The gating signals are important sincethey contribute to correlator response characteristics but are not theend in themselves. Each of FIGS. 7A-7E provides the characteristicresponse of the correlator of FIG. 5 when a respective one of the gatingsignals of FIGS. 6B-6F is used. Each of the FIGS. 7A-7E shows amagnitude (vertical axis) of the correlator output 611 as a function ofthe relative phase ε₀ (horizontal axis) between its respective one ofthe gating signals of FIGS. 6C-6F and the reference code of FIG. 6B,over a range of plus one chip Δ (code leads the reference) to a minusone chip Δ (code trails the reference). The curve of FIG. 7B is aresponse when the gating signal of FIG. 6C is used, the response of FIG.7C obtained with the gating signal of FIG. 6D, and so forth.

An important feature of each of the correlator responses of FIGS. 7A-7Eis a short trailing late characteristic slope, such as a slope 615 ofFIG. 7C and a slope 617 of FIG. 7D, that go to zero. Either positive ornegative going slopes are useful. Such a correlator characteristic slope619 is shown in FIG. 9A, with reference to a starting point 621. For theparticular use in a correction correlator of the present invention, theshape of a portion 623 of the correlator response occurring earlier thanthe point 621 is immaterial. The same slope 627 is also generated with afixed delay 625, as shown in FIG. 9B, to start at a point 629. The twocharacteristic slopes 619 and 627 are then combined to generate adesired characteristic shown in FIG. 9C.

That desired late correlator characteristic is a correlator response 630that is zero, and then goes to a peak and back to zero in the shortestpossible distance on the horizontal axis. The shape of the responseportion 631 prior to the point 629 is immaterial. The reasons for thelate characteristic being desirable for the correction correlator arediscussed in a later section. A limit of how close the FIG. 9C zerocrossings can be spaced is set by the limited bandwidth of the receiverfront end sections. The late correlator response of FIG. 9C is ideal,assuming no bandwidth restrictions, but in an actual implementation, itwill be smeared somewhat. Because of this non-perfect response, the zerocrossings need to be spaced apart some distance that increases as thebandwidth of the receiver decreases.

In order to obtain the late correlator characteristic of FIG. 9C, acommon slope is used in two forms, one slightly delayed from the other,and then they are combined with some scaling factor between them. Thedistance between the zero crossings is controlled by the phase delay625. In a specific example, the slopes are combined by multiplying thecharacteristic slope 619 by two and then subtracting from that resultthe characteristic slope 627.

FIGS. 10 and 11 show modified versions of the correlator of FIG. 5 thatcan provide the correlator characteristics of FIG. 9C. In FIG. 10, thegating signal applied to the mixer 603 is a combination of thatgenerated by the local code generator 607 when combined in an adder 635with a scaled down version of that same gating signal that has beendelayed by a delay circuit 633. Thus, this correlator can generate thegating signal of FIG. 9C and set the delay 633 to be the phase delay 625in duration, in order to generate and use the gating signal of FIG. 9Cin the correlator.

The correlator of FIG. 11 combines a second correlator of a mixer 637and integrator 639 in parallel with the correlator having the mixer 603and integrator 609. Both correlator portions receive the same incomingPRN signal and combine their outputs in at 643 to provide an overallcorrelator output 645. When configuring this correlator to have the latecharacteristic of FIG. 9C, the local code generator 607 can generate anyof the gating signals of FIGS. 6C-6F, and a delay circuit 641 is set todelay that signal by the phase delay 625 of FIG. 9B. The gating signalis applied to the mixer 637 while the delayed version is applied to themixer 603. The two correlator outputs, corresponding to those shown inFIGS. 9A and 9B are then scaled and combined in the circuit 643 in themanner described above. In general, the same correlator response can beobtained with the approach shown in either of FIGS. 10 or 11.

Digital Receiver Channel, Generally

Referring to FIG. 12, the structure and operation of each of multipleprocessing channels of the receiver of FIG. 4 is shown. One of similarchannel circuits 13a-13n is provided for each of the satellites beingsimultaneously tracked by the receiver. In a preferred embodiment, aportion of the signal processing illustrated in FIG. 12 is implementedby circuits within one of the channels 13a-13n of the receiver of FIG. 4and the remainder of the processing of FIG. 12 is implemented bysoftware in the processor 15. The intermediate frequency signal IFWapplied to each of these channels over circuits 401 is applied to amixer 403. The mixer 403 also receives, in a circuit 405, a replica ofthe carrier contained in the intermediate frequency signal in thecircuits 401. This carrier replica is generated by a numericallycontrolled oscillator (NCO) 407. A resulting signal in circuits 409 thushas the carrier removed. This demodulated signal is applied to both aprimary correlator 411 as part of a primary code loop, and to primarycorrelator 413 as part of a primary carrier loop.

Each of these primary loops includes a DLL for code and aphase-lock-loop ("PLL") for the carrier, as commonly used in GPSreceivers. An error signal in a circuit 421, part of the carrier loop,causes the NCO to shift the phase of the locally generated carrier incircuits 405 relative to that of the incoming signal in circuits 401. Anoutput 422 is a signal proportional to the relative phase of the carrierbeing generated by the NCO 407, and is a quantity used by the receiverto measure a desired parameter such as distance. A local code generator415 provides in circuits 417 a PRN code corresponding to the code whichis a part of the signal carried by circuits 409. In the example of a GPSreceiver, this code can be either the C/A code or the P-code. An errorsignal in a circuit 419, part of the code loop, causes the codegenerator 415 to adjust the phase of the local code relative to that ofthe incoming signal in circuits 401. An output 420 of the code generator415 gives a signal related to the phase of the code being generatedthereby, the quantity used by GPS and related types of receivers tomeasure position, distance, velocity, and similar quantities.

Normally, an output 423 of the carrier loop correlator 413 would providethe error signal directly to the NCO 407 through circuits 421.Similarly, an output 425 of the primary code loop correlator 411 wouldnormally provide the error signal for the code generator 415 byconnection directly with the circuits 419. However, according to thepresent invention, an additional carrier correction circuit 427 and/oradditional code correction circuit 433 is provided. The carriercorrection circuit 427 provides an output 429 that effectively biasesthe error signal in circuits 423 by combination with this error signalin an adder 431. Similarly, an output 435 of the code correction circuit433 carries a bias signal that is combined in an adder 437 with theerror signal in circuits 425. The carrier correction circuit 427 ispreferably a correlator having a structure similar to that of theprimary correlator 413 but with a much different response. Similarly,the correction correlator 433 in the code loop is similar in structureto the primary correlator 411 but with a much different responsefunction.

As discussed below with respect to specific embodiments of each of thecarrier and code loops, the response of the correction correlators 427and 433 is made to sense the current tracking point error of each of theprimary loops formed of their respective primary correlators 413 and411. The response of these correction sub-loops is made to have a verylow sensitivity to the multipath signal component of the incoming signalin circuits 401. The correction sub-loops do not directly participate inthe carrier and code tracking functions. The primary loops utilizing theprimary correlators 413 and 411 can then be chosen to have a responsethat provides necessary dynamic code tracking characteristics. That is,the response of the primary correlators in each of the carrier and codeloops need not be compromised in order to minimize the effect of amultipath signal. Rather the response of the primary correlators 413 and411 is chosen to provide the best loop response possible, as if amultipath signal was not present. The response of the correctioncorrelators 427 and 433 is then made to be highly insensitive to themultipath signal in order to generate correction signals that are usedto bias the error signals of the respective primary loops. The sometimescompeting requirements of a high dynamic loop response and insensitivityto multipath signals are then uncoupled and treated by differentportions of each of the compound carrier PLL and compound code DLL. Thisapproach more completely compensates for the presence of a multipathsignal than does prior approaches to the problem. And it is done withoutimpacting on the dynamic behavior of the overall loop.

Code Compound DLL

FIGS. 13-18 illustrate various aspects of the structure and operation ofthe PRN code loop of FIG. 12. Referring initially to FIG. 13, theprimary correlator 411 includes a mixer 441 that receives both thedemodulated signal in circuits 409 and a locally generated PRN code incircuits 417a. An output of the mixer 441 is applied to anaccumulator/integrator 443, whose output in the circuit 425 is an errorsignal that would normally be applied to the code generator 415 toadjust the relative phase of a locally generated gating signal in acircuit 417a, in order to minimize the magnitude of that error signal,or drive it to some other reference level. The correction correlator 433also includes a mixer 445 with an output connected to anaccumulator/integrator 447. The mixer 445 receives the same incomingsignal from circuits 409 but a different locally generated gating signalthrough a circuit 417b. An output of the accumulator/integrator 447 isapplied to a "perfect" integrator 448 whose accumulated output is theerror correction signal 435. The code generator 415 generates gatingsignals in each of the output lines 417a and 417b that remainsynchronized in relative phase with one another as that phase isadjusted relative to the incoming signal in circuits 409 by the compounderror signal in circuits 419. These two gating signals are of muchdifferent shape, as explained below, which is largely responsible foreach of the correlators 411 and 433 having different responsecharacteristics in being able to serve different functions as part ofthe compound PRN code loop.

The curve of FIG. 14A is an expanded view of the central portion of theresponse characteristic curve of FIG. 6C of the Prior Application. Thisshows the magnitude of the error signal output of the primary correlator411 as a function of a difference in relative phase, in terms of afraction of a chip of the PRN code, between that of the incoming signalin circuits 409 and the gating signal in the circuit 417a. In order toobtain the response of FIG. 14A, the gating signal in circuits 417a ischosen to be that of FIG. 6E. The pulse of FIG. 6E has a width d=0.1chip of the PRN code of FIG. 6A, in a specific example. Each such pulseoccurs with its center coincident with each edge of the PRN sequence ofFIG. 6A, and with a corresponding polarity, when a DLL including theprimary correlator 411 is locked in phase. As shown in FIG. 14A,however, a DLL formed only of such a primary correlator locks onto thecomposite signal 214, rather than the desired line-of-sight signal 213.That is, the zero crossing point of the correlator output characteristicis aligned with the composite signal 214. The code phase that ismeasured as an indication of distance, position or some other parameterbeing measured, is then in error. The tracking error is noted in FIG.14A by ε. It is this error that is reduced or eliminated by thecorrection correlator 433, as explained below.

As an alternative to the response of FIG. 14A, the primary correlator411 can be made to have a response as shown in FIG. 14B. This responseis the same as that of FIG. 9D of the Prior Application. The locallygenerated code in the circuit 417a that gives the correlator response ofFIG. 14B is shown in FIG. 8D. In a specific example, d=0.05 a PRN codechip. The pulse shown in FIG. 8D is made to be symmetrical about eachPRN code edge and with the same polarity as that edge. As explained inthe Prior Application, the plus and minus areas of the pulse on eachside of the PRN code edge are equal to each other. The correlator 411may alternatively be provided with other response characteristics, suchas that shown in FIG. 5D of the Prior Application. Since the primarycorrelator 411 need not directly compensate for the existence of amultipath signal, its characteristics are chosen to optimize itsfunction as the primary tracking loop.

An example is shown in FIG. 14C of a response of the correctioncorrelator 433 (FIG. 13). This response is obtained when the gatingsignal in the circuit 417b from the code generator 415 has a shape asillustrated in FIG. 15E. FIG. 14C shows the error correction signal incircuits 435 as a function of a phase difference between the PRN codewithin the signal in circuits 409 and the locally generated PRN code inthe circuit 417b, expressed in terms of a fraction of a chip of the PRNcode. A primary characteristic of the response of the FIG. 14C is itsnarrow late response 451, as previously described with respect to FIG.9C. In order to operate properly, the duration of the overall responseof the correction correlator 433 should be at least equal to thereciprocal of the bandwidth of the receiver down converter 12 (FIG. 4).The correlator response then has an asymmetric nature. It is usual thatthe correlator response is symmetrical about its zero crossing point butthe correction correlator of the present invention provides an earlyresponse 453 that has a duration much longer than that of the lateresponse 451. In this way, the bandwidth requirements are met and, atthe same time, the late response 451, which is sensitive to themultipath signal, can be made very short. Indeed, the duration of thenon-zero late portion 451 of the correction correlator characteristic isideally made to be slightly greater than the maximum value of the errorε, and slightly less than the maximum value of δ, that are expected tobe encountered. A correction correlator having the response of FIG. 14Ccan be used with a primary correlator having a response type that isselected from a number of existing correlator response characteristics,some of which have been described above and in the Prior Application.

An example technique for generating a local PRN code, for use with thecorrection correlator 433, is shown in FIGS. 15A-15E. FIG. 15A shows anedge 459 of the locally generated reference PRN code. Initially, thegating signal of either of FIGS. 6C or 6D is generated, as shown in FIG.15B, where ε₀ =Δ/2. That signal is then advanced in phase 0.03 chip toobtain the gating signal of FIG. 15C. The signal of FIG. 15B is alsoadvanced in phase 0.01 chip to obtain the signal of FIG. 15D. The signalof FIG. 15C is then doubled in magnitude, and the signal of FIG. 15Dthen subtracted therefrom in order to obtain the resulting gating signalof FIG. 15E that is applied by the code generator 415 to the correctioncorrelator 433 through the circuit 417b. The phase of the gating signalsin the circuits 417a and 417b (that of FIG. 15E) remain synchronized astheir phase relative to the incoming signal is changed in response tothe corrected error signal in the circuit 419.

As previously described with respect to FIGS. 9C and 14C, it is the lateresponse characteristic of the correction correlator 433 that is made tobe very narrow. Although one of the gating signals of FIGS. 6C or 6D hasbeen described with respect to FIGS. 15A-15E as the starting point indeveloping a gating signal 417b that gives the desired late correlatorresponse, one of the signals of FIGS. 6E or 6F may alternatively beused. When the signal of FIG. 6E is used, it is advanced in phase by aquantity (3Δ/2-d/2), a distance between a reference phase 614 and aphase 616 of FIG. 7D at a leading edge of the trailing slope 617, plus0.03Δ, and then doubled in magnitude. The same gating signal of FIG. 6Eis then subtracted from this result after being advanced in phase by(3Δ/2-d/2) +0.01Δ. This result becomes the gating signal 417b for thecorrection correlator 433.

Of the four beginning gating signal examples shown in FIGS. 6C-6F, thatof FIG. 6F is generally preferred as a starting gating signal. Whenused, the signal of FIG. 6F is advanced in phase by (Δ/2-d/2)+0.03Δ anddoubled in magnitude, followed by subtracting from this result the samesignal of FIG. 6F after being advanced in phase by (Δ/2-d/2)+0.01Δ. Itwill be noted from FIG. 7E that the quantity (Δ/2-d/2) is the distancebetween a leading edge 620 of a trailing slope of that correlatorfunction and the reference phase 614. Each of the specific correctioncorrelator gating signals 417b described herein is configured to providea correlator function with a very steep trailing edge (one of edges 612,615, 617, or 618 of FIGS. 7B-E) beginning at the phase reference 614 ofthe primary correlator.

It should be noted that there are many other possibilities for gatingsignals that give a desired correlator response, a proper response beingthe ultimate goal. For example, only single level signals have beenshown in FIGS. 6C-6F but signals having other combinations of magnitudescan alternatively be used.

FIGS. 16A-16C are provided to illustrate operation of the compound codeloop of FIG. 13, wherein the primary correlator 411 has a characteristicresponse as shown in FIG. 14A and the correction correlator 433 has acharacteristic response as shown in FIG. 14C. In FIG. 16A, it is assumedthat only the line-of-sight signal 213 exists. Under such an idealcircumstance, the zero crossings of both the primary and correctioncorrelator outputs are aligned with the line of sight signal.

However, when the multipath signal 215 first appears, as shown in FIG.16B for illustrative purposes, the shape of the primary correlatorcharacteristic is distorted. Once the primary correlator has settledafter the sudden appearance of the multipath signal, the error e_(M) inits output 425 is driven to zero by shifting the code generator 415.This is because the primary correlator loop locks onto the compositesignal 214 instead of the line-of-sight signal 213. FIG. 16B shows thatthe correction correlator response initially generates an error outpute_(S), which is then integrated by the integrator 448 (FIG. 13) toproduce the error signal 435. The error signal applied to the codegenerator 415 in circuits 419 is a combination of the errors e_(M)+∫e_(S) dt. As more time elapses, the output of the integrator 448 ofthe correction correlator 433 increases to further offset the primarycorrelator error signal e_(M). FIG. 16C illustrates when both of theprimary and correction correlator loops are settled. The correctioncorrelator zero crossing is now aligned with the line-of-sight signal213. It corresponds to the primary correlator zero crossing without anymultipath signal component.

The example being illustrated with respect to FIGS. 13-16 provides ahigh speed primary code tracking loop that includes the primarycorrelator 411, combined with the low speed multipath correction loopincluding the correction correlator 433. The correction loop is lowspeed because it is desirable to integrate the correlated output overrelatively long periods of time, when compared to the primarycorrelator, in order to compensate for a low signal-to-noise ratio in acorrection correlator that has a response shown in FIG. 14C. But sincethe correction loop does not participate in real time code tracking andthus does not have any constraints on its operating dynamics, itsresponse can be chosen to be an extreme function such as shown in FIG.14C. Others of the correction correlator functions discussed above canalternatively be utilized, as well as others having a non-zero lateresponse that is very short.

By tracking both the primary and correction loops together (locked inphase), the correction loop senses a tracking point error of the primaryloop that is the result of the presence of a multipath signal. Acombination of the error signals of the two sub-loops then causes thecode generator 415 to lock onto the code of the incoming line-of-sightsignal, with little or no effect of an incoming multipath signal,depending upon its magnitude and amount δ of delay in its arrival at theantenna 11.

The curves of FIG. 16C illustrate operation of the compound loop systemwhen the delay δ between the line-of-sight signal 213 and any multipathsignal 215 is greater than the width at the base of the trailingnon-zero response 451 of the correction correlator. Under thiscondition, all of the error created in the primary loop by the presenceof the multipath signal is eliminated. It is not unusual, however, for amultipath signal to lie within the correction correlator response 451.In this case, there is some residual error remaining in the compoundloop, although at a reduced level. Such a residual error can be reducedthrough a reduction of the duration of the response portion 451. But, asdiscussed earlier, there is a limit as to how small the response portion451 can be made because of effects of the limited bandwidth of the frontportions of the receiver. Also, as mentioned earlier, the duration ofthe response portion 451 should also be wide enough so that the expectedcomposite signal 214 falls within its response in order for thecorrection loop to operate properly.

The curve in FIG. 17 illustrates a time response of the specificcorrelation circuit shown in FIG. 13 to the sudden occurrence of amultipath signal. During that initial time period, the corrected errorsignal in circuits 419 increases at a rate controlled by the timeconstant τ1 of the primary loop. Thereafter, the corrected error signalis reduced by the correction loop compensating for that error at aslower rate controlled by the time constant τ2 of the correction loop.If the multipath signal is such that the correction loop can totallycompensate for the effect of the multipath signal, the corrected errorsignal goes back to zero but it will often result that there is someremaining residual error as shown in FIG. 17. But any such residualerror is much less than that of the primary correlator loop alone,thereby showing the benefit of using the correction correlator sub-loopin combination with the primary loop.

Referring to FIG. 18, curves are given to illustrate the relativetracking error boundaries for various multipath signals having differentvalues of delay δ (nanoseconds) from the line-of-sight signal. The outercurves 463 and 465 show the range of tracking error that is obtainedwith use of a single code correlator loop having a response as discussedwith respect to FIG. 14A. Curves 467 and 469 show an error range of asystem using a single code correlator loop with a response as discussedwith respect to FIG. 14B. A much reduced tracking error range obtainedby using the compound loop of the present invention is shown by a curve471. The curve 471 illustrates a set of results obtainable with thecompound loop of the present invention, using a combination of a primarycorrelator with characteristics of FIG. 14A and a correction correlatorwith characteristics of FIG. 14C. The curve 471 shows the range oftracking error (horizontal axis) to much smaller, for a small range ofvalues of δ near zero, than results from the other prior techniques, andno tracking error at all for most values of δ outside that range. Thisimprovement allows a GPS receiver to measure a parameter such positionwith improved accuracy.

Carrier Compound PLL

Referring to FIG. 19, the compound carrier loop of FIG. 12 will beexplained in more detail. This compound carrier loop operates onprinciples similar to those of-the compound code loop, as discussedabove, with similar advantages. It is often more important to accuratelyresolve the relative phase of the carrier since its frequency is higherthan that of the codes modulated on it, and thus provides the potentialfor a higher resolution position measurement to be made. As is typicalin GPS signal processing, the incoming signal is demodulated with twosine wave outputs 405a and 405b of the local oscillator 407 that aredisplaced in relative phase 90 degrees from each other, one designatedas the "In-Phase" signal and the other the "Quadrature Phase" signal.The primary correlator 413 and the correction correlator 427 haverespective pairs of mixers 475,477 and 479,481 for this purpose.Alternatively, the primary and correction correlators may share a singlepair.

The outputs of these mixers then have the carrier removed from thesignals, assuming the local carrier reference generating NCO is lockedin phase to the carrier of the signal being tracked, the purpose of thecompound loop of FIG. 19. A next step in the primary correlator 413 isto mix with the demodulated signals a locally generated replica of a PRNcode carried by the signals. (This alternatively could have been donefirst.) Mixers 483 (in the Q signal path) and 485 (in the I signal path)receive a punctual version 487 of the locally generated code (an exampleshown in FIG. 6B). Outputs of the mixers 483 and 485 are integrated byrespective integrators 489 and 491. The integrated signals are thendivided, at 493, to provide an error signal in the path 423 that is themagnitude of the output of the integrator 489 divided by the magnitudeof the output of the integrator 491.

This primary correlator 413 is similar to the type generally used in thePLLs of GPS receivers. If only a desired line-of-sight signal is beingtracked by such loop, as shown by the single vector in FIG. 20A, thecarrier of that signal is aligned with the locally generated I carrier.It is typical that such loops operate to minimize the Q output of theintegrator 489 when properly locked in phase. However, if a multipathsignal 215 is present along with a line-of-sight signal 213, as shown inthe vector diagram of FIG. 20B, with some lag θ in relative phase, theline-of-sight signal 213 is no longer aligned in the I direction.Rather, a composite signal 214 is so aligned. The loop operates toequalize the Q components 495 and 497 of the line-of-sight signal 213and multipath signal 215, thus causing the line-of-sight signal to berotated in phase an amount ε.sub.θ that represents an error.

As a result, the correction correlator 427 is used to determine theamount of such error and correct the primary correlator in order toeliminate or substantially reduce the effect on carrier phasemeasurement of the presence of a multipath signal. Referring again toFIG. 19, the outputs of the mixers 479 and 481 are applied respectivelyto mixers 499 and 501. Each of the latter mixers also receive a signal503 that corresponds to the S3 signal shown in FIG. 15C. The asymmetricnature of the S3 signal gives an asymmetric response characteristic tothe correction correlator 427 that allows the determination of theamount of error being caused in the primary correlator output by thepresence of the multipath signal. Outputs of the mixers 499 and 501 areapplied respectively to accumulators/integrators 503 and 505, whoseoutputs are in turn combined at 507 to provide a ratio of Q'/I'. Thatsignal is then applied to a "perfect" integrator 509 in order to obtainthe error correction signal 429.

Example correlator response characteristics are illustrated in FIGS. 21Aand 21B. Each of the Q and I outputs of the primary correlator 413provides a level shown in the curve of FIG. 21A, as a function of thephase of the composite signal input to the primary correlator 413relative to that of the locally generated punctual replica P (FIG. 6B)of the code contained in the input signal. Similarly, the magnitude ofeach of the Q' and I' outputs of the correction correlator 427 is shownin FIG. 21B, as a function of the phase of the line-of-sight signalinput to the correction correlator 427 relative to that of the locallygenerated asymmetric gating signal S3 (FIG. 15C). As the compositecarrier loop of FIG. 19 operates, the phases of the locally generated Pand S3 code signals are moved together relative to the incoming signal.In place of the S3 signal, as discussed above, one of the signals ofFIGS. 6D-6F, after being advanced in phase may be used instead. In thiscase, the correction correlator shape is given by FIGS. 7C-E. Similar tothe code correction correlator discussed above, one of a variety ofspecific gating signals may be chosen for the carrier correctioncorrelator in order that the correction correlator has a very shortnon-zero response. As shown in FIG. 21C, such a response 512, as anexample, has a duration 516 that is made to be short. As with the codecorrelator discussed above, the response of the carrier correctioncorrelator that is earlier than a reference phase 514 is not important.

The error correction signal 429 is subtracted from the error signal 423,and then filtered by a filter 511 to obtain the corrected error signal421 that adjusts the relative phases of the outputs 405a and 405b of thelocal carrier generator 407. The filtering allows control of thestability of the loop's operation. The result is to eliminate the effectof any multipath signal that falls outside of a small late portion 513of the triangular response (FIG. 21B) of the correction correlator 427,and to minimize the effect of any multipath signal that falls within theportion 513. As with the compound code loop discussed above, the maintracking function of the compound carrier loop of FIG. 19 is provided bythe primary correlator 413. Its response characteristics are designed todo so. The correction correlator 427 is provided with much differentresponse characteristics, particularly a very small late response 513(FIG. 21B), in order to generate a signal representative of the error inthe output of the primary correlator 413 that is due to the existence ofa multipath signal. The correction correlator response is not adequateto serve as the only correlator of a loop that tracks the carrier.

In order to illustrate operation of the compound carrier loop of FIGS.19 and 21A-21B, three-dimensional vector diagrams of FIGS. 22, 23 and 24are provided. Referring initially to FIG. 22, the primary correlatorresponse characteristic curve of FIG. 21A is shown as 515 in an "I"plane and as 517 in a "Q" plane. The I and Q planes are positioned atright angles to each other. A relative PRN code phase delay is providedalong an axis 519 at an intersection of the I and Q planes. Aline-of-sight vector 521 at the output of the primary correlator 413 isshown to have an I component 523 and a Q component 525. Because of thepresence of a multipath signal 527 within the response characteristicsof the primary correlator, the Q component is not zero, thus presentingan error. The multipath signal 527 is delayed from the line-of-sightsignal 521 by δ, and makes an angle θ with a line 529 that is parallelwith the line-of-sight signal 521. The multipath signal 527 has an Icomponent 531 and a Q component 533. FIG. 22 shows the output of theprimary correlator 413 without any contribution from the correctioncorrelator 427. The carrier loop is in equilibrium because themagnitudes of the Q components 525 and 533 of the line-of-sight andmultipath signals, respectively, are equal and opposite. But theline-of-sight signal 521 is caused by the presence of the multipathsignal to have an error angle ε.sub.θ. This is another representation ofthe situation illustrated by the two dimensional vector diagram of FIG.20B, where the line-of-sight and multipath contributions are projectedonto the same plane along the "relative PRN code phase delay" axis.

FIG. 23 illustrates, in the same format as FIG. 22 but with a largerscale, the output of the correction correlator. Its response curve ofFIG. 21B is shown in the I plane as 535 and in the Q plane as 537. Anoutput from the line-of-sight signal is shown by a vector 539, with aprojection 541 on the I axis and a projection 543 on the Q axis. Themultipath signal 527 is not within the very small late response of thecorrection correlator, in this example, so does not affect its output.The ratio of the Q component 543 to the I component 541 is the tangentof the same error angle ε.sub.θ as appears in FIG. 22. Thus, the errorof the primary correlator that is caused by the presence of themultipath signal is measured by the correction correlator. That error isthen removed from the output of the primary correlator of FIG. 19 byintegrating the error measured by the correction correlator andsubtracting the result 429 from the error 423 of the primary correlator.As with the case of the compound code loop described above, compensationfor a sudden appearance of a multipath signal occurs over time asaccumulation of the error 429 increases.

The end result of combining the outputs of the primary and correctioncorrelators in the compound loop of FIG. 19, after the loop reachesequilibrium, is shown in FIG. 24. This is similar to what is shown inFIG. 22 except both the line-of-sight signal vector 521 and themultipath signal vector 527 have been rotated through the error angleε.sub.θ by the self-correcting operation of the compound loop of FIG.19. A combination Q/I-∫(Q'/I')dt of the outputs of both the primary andcorrection correlators is zero. The tracking error caused by themultipath signal has, in this example, been eliminated. Thus,measurements by a GPS receiver which depend upon the carrier phase canbe made with much greater accuracy.

An alternative implementation of the correction correlator 427 is shownin FIG. 25. Rather than using two separate sets of mixers andintegrators 499, 501, 503 and 505 (FIG. 19) for the Q' and I' signals, asingle mixer 651 and a single integrator 653 are used along withmultiplexers 655 and 657. In response to a control signal in a line 659,the multiplexer 655 alternately connects the outputs of the mixers 479and 481 to an input of the mixer 651. Similarly, the multiplexer 657alternately connects, in synchronism with operation of the multiplexer655, an output of the integrator 653 to buffer memories 661 and 663. TheQ' and I' quantities stored in the buffers 661 and 663 are then dividedat 507.

FIG. 26 shows another alternative implementation of the correctioncorrelator 427 of FIG. 19. The correction correlator circuits of thesefigures are the same except that a different locally generated codesignal 487 is used with the I' mixer 501 than the code 503 used with theQ' signal mixer 499. The code 487 is the same as used in the primarycorrelator 413 (FIG. 19), and is the local reference PRN code of FIG.6B. The result of the integration 505 is then I, as in the primarycorrelator 413, rather than I' of the other correction correlatorembodiments. The correlation functions of the I correlator of FIG. 26approximates that of the I' correlator of FIG. 19 but is of a largerscale.

FIGS. 27 and 28 show calculated envelopes of maximum error in themeasurement of carrier phase by the system described with respect toFIGS. 19-24. The maximum error (vertical axis) is shown as a function ofthe delay of the multipath signal (horizontal axis) from theline-of-sight signal. FIG. 27 shows such error when the system is lockedonto the C/A code of the received signal, and FIG. 28 when the receiveris locked onto the P-code of the received signal. Outer dashed lines 671(FIG. 27) and 677 (FIG. 28) show the potential error when the PRN codeapplied by the line 487 (FIG. 19) to the primary carrier loop correlator413 corresponds to that of FIG. 6B and the correction correlator isdisabled. Intermediate dashed lines 673 (FIG. 27) and 679 (FIG. 28) showthat the potential error is less when the correction correlator isenabled and the PRN code applied by the line 503 corresponds to that ofFIG. 6F with ε.sub.θ almost equal to one-half of the PRN code chip.Solid lines 675 (FIG. 27) and 681 (FIG. 28) also show the potentialerror with use of the PRN code of FIG. 6F but with ε.sub.θ exactly equalto one-half of the PRN code chip. The specific values of these and otherparameters assumed when generating the curves of FIGS. 27 and 28 aregiven on the figures.

Open Loop Correction System

FIG. 29 shows a receiver that does not correct the DLL code and PLLcarrier loops, as is done in the embodiments described above. The systemof FIG. 29 is quite similar to that shown in FIG. 12 except that thecorrection for a multipath signal is made outside of the loops. The codeloop 411,415 and the carrier loop 413,407 each lock on a composite ofthe desired line-of-sight and multipath signals, rather than beingcorrected to lock on the line-of-sight signal as are the digital channelembodiments described above. The relative code phase output 420 andrelative carrier phase output 422 include an error caused by themultipath signal. This error in code phase is corrected by combiningwith the code phase 420 at 695 the code phase correction signal 419,thereby generating a corrected code phase signal 697. Similarly, thecarrier phase 422 is combined at 691 with the carrier phase correctionsignal 429, in order to provide a corrected carrier phase signal 693.

The results of the FIG. 29 system are quite similar to those of the FIG.12 system if the code loop, carrier loop and correction circuits are alloperating linearly. But since it is usually difficult to compensate forany such non-linearities, it is usually preferred to make the correctiona part of the correlation loops as is described in the precedingembodiments. Any non-linearities of the loops are then automaticallycompensated but the loops may not be operating most efficiently.

Digital Channel Embodiment

Since the code and carrier phase loops have been shown and describedseparately, FIG. 30 puts them together in a more complete representationof one of the receiver digital channels. Elements of the system of FIG.30 that correspond to elements shown in earlier drawings are identifiedby the same reference number but with a prime (') added. A preferredcombined implementation by circuitry and software is shown, thosefunctions to the left of a dashed line 551 being performed by one of thechannels 13a-n of the receiver of FIG. 4 and those functions to theright of the line 551 being performed by the signal processor 15 undersoftware control.

The local code generator 415' provides four output signalsrepresentative of the code carried by the incoming IFW signal. The P andS3 signals in respective lines 487' and 503' have previously beendescribed as used with the carrier correlators 413' and 427'. Theprimary code correlator 411' is preferably of a narrow type, receivingan appropriate gating signal in a line 553. That gating signal may, forexample, be of a form similar to that of FIG. 6E. A further output line555 of the local code generator 415' carries the s4 gating signal ofFIG. 15D. Rather than generating the complicated gating signal of FIG.15E for use by the code correction correlator, as earlier described withrespect to FIG. 13, the code correction correlator 433' receives both ofthe S3 and S4 gating signals and separately mixes them in mixers 557 and559. After integration of each of these mixers' outputs, they arecombined with an adder 561 after the integrated output of the mixer 557is doubled in magnitude at 563. The output of the adder 561 is the sameas if the gating signal of FIG. 15E was first generated by combining theS3 and S4 gating signals, and this combination then applied to a singlemixer with in incoming signal in line 409_(Q) '. This implementationuses the mixer 557 and the integrator following it as part of each ofthe correction correlators 427' and 433'.

Rather than using the S3 (FIG. 15C) and S4 (FIG. 15D) gating signals,which are time shifted replicas of the S signal of FIG. 15B, the localcode replica generator 415' could instead generate similarly timeshifted replicas of one of the gating signals shown in FIGS. 6D-6F, aspreviously described.

Although the various aspects of the present invention have beendescribed with respect to its preferred embodiments, it will beunderstood that the invention is entitled to protection within the fullscope of the appended claims.

It is claimed:
 1. A method of processing a received signal that includesboth line-of-sight and delayed multipath versions of a transmittedsignal, comprising:performing a first correlation of the received signalwith a first locally generated reference signal that corresponds to acomponent of the transmitted signal and provides a first correlationfunction that is sensitive to both the line-of-sight and delayedmultipath versions of the transmitted signal, thereby to obtain ameasure of a relative phase of said component, performing a secondcorrelation of the received signal with a second locally generatedreference signal that corresponds to said transmitted signal componentand provides a second correlation function that is sensitive to thereceived line-of-sight version of the transmitted signal but insensitiveto the delayed multipath version of the transmitted signal, andcombining a result of the second correlation with a result of the firstcorrelation in a manner to compensate the measure of the relative phaseof said component for an effect of the multipath signal version of thetransmitted signal.
 2. The method of claim 1, wherein the first andsecond correlations are performed together as part of a compound lockloop.
 3. The method of claim 1, wherein the first and secondcorrelations are performed by independent lock loops and their resultscombined.
 4. The method of claim 1, wherein a relative phase duration ofa trailing non-zero response of the second correlation function is madeto be significantly less than a trailing non-zero response of the firstcorrelation function.
 5. The method of claim 1, wherein the secondcorrelation function is given a lower signal-to-noise ratio than saidfirst correlation function.
 6. The method of claim 1, wherein thetransmitted signal originates in a satellite and said component of thetransmitted signal is a binary pseudo-random code.
 7. The method ofclaim 1, wherein performing the first correlation includes doing so in afirst lock loop that generates a first error signal, wherein performingthe second correlation includes doing so in a second lock loop thatgenerates a second error signal, and wherein combining the results ofthe first and second correlations includes combining the first andsecond error signals to shift together relative phases of the first andsecond locally generated reference signals.
 8. The method of any one ofclaims 2-5 or 7, wherein the transmitted signal originates in asatellite and said component of the transmitted signal is a binarypseudo-random code.
 9. The method of any one of claims 1-5 or 7, whereinthe transmitted signal originates in a satellite and said component ofthe transmitted signal is a carrier signal.